import type { IPerson } from './type';

// 泛型 接口 举例

// 泛型接口定义
// interface IPerson<Type> {
//   name: string;
//   code: (value: Type) => Type;
// }

// 使用

let person1: IPerson<number> = {
  name: 'Jack',
  code: (value) => value,
};

console.log(person1.code(123));

let person2: IPerson<string> = {
  name: 'Jack',
  code: (value) => value,
};
console.log(person2.code('abc'));

// JS 中的数组在 TS 中就是使用泛型接口来进行约束的
const strs = ['a', 'b', 'c'];
// 鼠标放在 forEach 上查看类型
strs.forEach;

const nums = [1, 3, 5];
// 鼠标放在 forEach 上查看类型
nums.forEach;

export {};
